Submitting New OrdersThe New Order Single message (MsgType=D) is used by the T4 FIX API to electronically submit orders to an exchange for execution. This message is used for all strategy types including outright futures, futures options, spreads and multileg strategies. The instrument for which the order is submitted is identified with the following tags: Tag 48 (SecurityID), Tag 55 (Symbol), Tag 207 (SecurityExchange) and Tag 167 (SecurityType). Options orders must also include the Strike Price (Tag 202) and the PutOrCall indicator (Tag 201). Lists of tradeable securities can be requested with the
Security Definition Request message (MsgType=c).
In addition to full market specification, all new orders must be uniquely identified with a verbose (# characters >= 12 and <= 20) Client Order Id (Tag 11). The subscribed account (Tag 1) for which the order is submitted must also be provided.
Malformed order messages (including missing required tags, empty tags, invalid tag value range, etc.) will be rejected with a FIX Session
Reject message. Order composition errors are identified with rejection
Execution Reports (Tag 150=8).
Order Types
The CTS T4 FIX API supports the most common futures orders types. Namely,
Special Order Types
In addition, the T4 FIX API offers the following non-standard
Special Order types:
Order Types with Multiple Components
Order types that involve multiple (batch) components also available. These order types are commonly controlled by a Trigger order that affect the submittal of other contingent orders. The T4 FIX API offers the following (batch) order types:
Note that Flatten, Join and Hit are requested with the OrdType field (Tag 40). Activation/Queue Orders are triggered with the Activation Type (Tag 10102). To be fully defined, Activation Orders also require an Activation Value (Tag 10103) under the same rules as the (Non-FIX)
T4 API. OCO, Auto OCO, Spark and Auto OCOM orders are entered with the
New Order List message.
Order Definition Fields
The most common selectable fields for the New Order Single message include:
Tag | Tag Number |
---|
Order Quantity | 38 |
Side | 54 |
Order Type | 40 |
Price | 44 |
Stop Price | 99 |
Put Or Call | 201 |
Strike Price | 202 |
Time In Force | 59 |
Other Fields
In addition, Special Order Types (as shown above) also cover the following input parameters:
Tag | Tag Number | Comments |
---|
MaxShow | 210 | For Icebergs |
TrailingDelta | 10100 | For Trailing Stops |
Activation Type | 10102 | For Queue and Activation orders |
Activation Value | 10103 | For Activation orders |
Account SubscriptionAll order routing including the submission of new orders, cancel-replaces and cancels must be preceded by a successful subscription to the account the order is submitted for. By default, all user accounts are automatically subscribed to. Account subscription requires an account data load in order to commence order routing.
Collateral Reports for Account Details indicate that the referenced accounts have been loaded. To disable automatic subscription to all user accounts, refer to the
Logon message (with Tag 372=BB). Note that if AutoSubscription is turned off, account subscriptions must be explicitly requested with the
Collateral Inquiry message.
Message Dictionary
Tag | Field Name | Req'd | Comments |
---|
| Standard Header | Y | MsgType = D |
1 | Account | Y | Account (code) for which the order is submitted. |
11 | ClOrdID | Y | Client-Side unique identifier for the order carried by this message. Must be unique. Maximum number of characters: 20. |
48 | SecurityID | Y | Security identifier. This is the T4 Market ID. |
55 | Symbol | Y | Symbol. This is the T4 Contract ID. |
207 | SecurityExchange | Y | Exchange at which the security trades. This is the T4 Exchange ID. |
167 | SecurityType | Y | Instrument type. Futures="FUT", Options="OPT", Stock="STK", Synthetic="SYN", Binary Option="BIN" |
201 | PutOrCall | N | For Options. Indicates whether an Option is for a Put or Call. Valid values are: |
| | | 0 = Put |
| | | 1 = Call |
202 | StrikePrice | N | For Options. Indicates the Strike Price of the Option. |
54 | Side | Y | Side of the market. Valid values are: |
| | | 0 = None (used for Flatten orders) |
| | | 1 = Buy |
| | | 2 = Sell |
38 | OrderQty | Y | The total number of contracts to be executed. Use "0" (zero) for Flatten orders. |
210 | MaxShow | N | Maximum quantity of order contracts to be shown to other market participants. Only supported by certain exchanges. |
40 | OrdType | Y | Order Type (in reference to Price). Refer to T4 User Guide for details on Special Order Types. The valid values for Order Type (Tag 40) are: |
| | | 1 = Market |
| | | 2 = Limit |
| | | 3 = Stop |
| | | 4 = Stop Limit |
| | | J = Market If Touched |
| | | F = Flatten |
| | | N = Join |
| | | H = Hit |
44 | Price | N | Order Price. Required for Limit, Stop-Limit and Market-if-Touched order types. Auto OCO: Value is relative from the Trigger Price (Tag 10101). |
99 | StopPx | N | Stop Order Price. Required for Stops and Stop-Limit order types. Auto OCO: Value is relative from the Trigger Price (Tag 10101). Negative value is allowed. |
59 | TimeInForce | Y | Specifies how long the order remains in effect. Valid values are: |
| | | 0 = Day |
| | | 1 = Good Til Cancel |
| | | 3 = Immediate Or Cancel |
| | | 4 = Fill Or Kill |
200 | MaturityMonthYear | N | Time maturity of the Security. Specified in the format YYYYMM (e.g. 201212) |
60 | TransactTime | Y | Time this order was requested for. Specified in UTC form. |
21 | HandlInst | Y | Instructions for order handling on Broker trading floor. Valid values are: |
| | | 1 = Automated execution order, private, no Broker intervention. Default. |
| | | 2 = Automated execution order, public, Broker intervention OK |
| | | 3 = Manual order, best execution |
77 | OpenClose | N | Indicates whether the resulting position (after a trade) should be an opening position or closing position. |
| | | O = Open |
| | | C = Close |
58 | Text | N | Free form Text. |
107 | SecurityDesc | N | Description of the specified Security ID (Tag 48). |
1028 | ManualOrderIndicator | N | Indicates if the order was sent Manually (i.e. order action is immediate from a human). Valid values are: |
| | | Y = Order was entered Manually |
| | | N = Order was entered by an Automated System, Program or Algorithm |
10100 | TrailingDelta | N | Price amount by which a Stop order will trail the current market. Only used for Trailing Stops. |
10102 | ActivationType | N | Type of Activation orders to be submitted. Refer to T4 User Guide for details on Special Order Types. The valid values are: |
| | | 1 = Immediate |
| | | 2 = At Or Above Trade Price |
| | | 3 = At Or Below Trade Price |
| | | 4 = On Market Mode |
| | | 5 = At or After Time |
| | | 6 = Queue |
10103 | ActivationValue | N | Condition associated with Activation Type. Multiple values are delineated by a colon (";"). Refer to T4 API Guide for Activation Value rules. |
| Standard Trailer | Y |
Sample MessagesSimple Outright Order
>> 12/11/2012 2:16:17 PM [FIXNEWORDER] 34=52|49=T4Example|56=T4|50=TraderName|52=20121211-20:16:17.874|1=Account1|11=fn-634908321778744001|48=CME_20121200_ESZ2|55=ES|207=CME_Eq|54=1|38=1|40=2|44=141400|59=0|167=FUT|21=1|60=20121211-20:16:17.874|204=0|
[MsgSeqNum] 34 = 52
[SenderCompID] 49 = T4Example
[TargetCompID] 56 = T4
[SenderSubID] 50 = TraderName
[SendingTime] 52 = 20121211-20:16:17.874
[Account] 1 = Account1
[ClOrdID] 11 = fn-634908321778744001
[SecurityID] 48 = CME_20121200_ESZ2
[Symbol] 55 = ES
[SecurityExchange] 207 = CME_Eq
[Side] 54 = 1 (BUY)
[OrderQty] 38 = 1
[OrdType] 40 = 2 (LIMIT)
[Price] 44 = 141400
[TimeInForce] 59 = 0 (DAY)
[SecurityType] 167 = FUT (FUTURE)
[HandlInst] 21 = 1 (AUTOMATED_EXECUTION_ORDER_PRIVATE_NO_BROKER_INTERVENTION)
[TransactTime] 60 = 20121211-20:16:17.874
[CustomerOrFirm] 204 = 0 (CUSTOMER)
Simple Outright Order - Successful Response
<< 12/11/2012 2:16:17 PM [fixexecutionreport] 34=218|49=T4|56=T4Example|50=T4FIX|52=20121211-20:16:17.952|143=US,IL|1=Account1|11=fn-634908321778744001|17=48146.71332401407_ESZ2.6349083219449100006.1.BD1E7093|150=0|37=BD1E7093-EF2C-439D-AEBA-0092A03F17ED|39=0|48=CME_20121200_ESZ2|55=ES|207=CME_Eq|200=201212|59=0|107=E-mini S&P 500 Dec12|54=1|167=FUT|38=1|40=2|44=141400|60=20121211-20:16:34.491|
[MsgSeqNum] 34 = 218
[SenderCompID] 49 = T4
[TargetCompID] 56 = T4Example
[SenderSubID] 50 = T4FIX
[SendingTime] 52 = 20121211-20:16:17.952
[TargetLocationID] 143 = US,IL
[Account] 1 = Account1
[ClOrdID] 11 = fn-634908321778744001
[ExecID] 17 = 48146.71332401407_ESZ2.6349083219449100006.1.BD1E7093
[ExecType] 150 = 0 (NEW)
[OrderID] 37 = BD1E7093-EF2C-439D-AEBA-0092A03F17ED
[OrdStatus] 39 = 0 (NEW)
[SecurityID] 48 = CME_20121200_ESZ2
[Symbol] 55 = ES
[SecurityExchange] 207 = CME_Eq
[MaturityMonthYear] 200 = 201212
[TimeInForce] 59 = 0 (DAY)
[SecurityDesc] 107 = E-mini S&P 500 Dec12
[Side] 54 = 1 (BUY)
[SecurityType] 167 = FUT (FUTURE)
[OrderQty] 38 = 1
[OrdType] 40 = 2 (LIMIT)
[Price] 44 = 141400
[TransactTime] 60 = 20121211-20:16:34.491
For a description and samples of other order types, please refer to the T4 FIX API Order Routing sidebar.
FIX API Home Page.